import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;


public class Ejercicio1_Recursivo {

	static void leerArchivo() throws IOException {
		BufferedReader br = new BufferedReader(new FileReader(new File("Tp2Ej1.in")));
		BufferedWriter bw = new BufferedWriter(new FileWriter(new File("resultado_recursivo.out")));
		ArrayList<Integer> pesosAristas = new ArrayList<Integer>();
		int cantNodos = 0;
		String [] linea = br.readLine().trim().split("\\s+");
		while(Integer.parseInt(linea[0]) != -1) {
			cantNodos = Integer.parseInt(linea[0]);
		
			for (int i = 1; i <= cantNodos; i++) {
				pesosAristas.add(Integer.parseInt(linea[i]));
			}
			bw.append((matchingMaximo(cantNodos, pesosAristas).toString()));
			bw.newLine();
			pesosAristas.clear();
			linea = br.readLine().trim().split("\\s+");
		}
		br.close();
		bw.close();
	}

	public static Integer matchingMaximo(int cantNodos, ArrayList<Integer> pesosAristas) {
		return Math.max(f(pesosAristas.subList(0, pesosAristas.size() - 1)),
				f(pesosAristas.subList(1, pesosAristas.size() - 2)) + pesosAristas.get(pesosAristas.size() - 1));
	}
	
	public static int f(List<Integer> subPesosAristas) {
		if(subPesosAristas.isEmpty())
			return 0;
		
		if(subPesosAristas.size() == 1) 
			return subPesosAristas.get(0);
		
		if(subPesosAristas.size() == 2)
			return Math.max(subPesosAristas.get(0), subPesosAristas.get(1));
		
		if(subPesosAristas.size() == 3)
			return Math.max(subPesosAristas.get(0) + subPesosAristas.get(2), subPesosAristas.get(1));
		
		return Math.max(f(subPesosAristas.subList(0, subPesosAristas.size() - 1)), 
				f(subPesosAristas.subList(0, subPesosAristas.size() - 2)) + subPesosAristas.get(subPesosAristas.size() - 1));
	}

	public static void main(String[] args) {
		try{
			leerArchivo();
		} catch(IOException e) {
			System.out.println("Error al intentar abrir el archivo");
			e.printStackTrace();
		}
	}

}
